////////////////////////////////////////////////////////////////////////////////

#ifndef _OBJECT_H_
#define _OBJECT_H_

////////////////////////////////////////////////////////////////////////////////

#include "commontypes.h"

////////////////////////////////////////////////////////////////////////////////

/** Base class for all object that have size and position
*
*  @author   Roman Pasechnik
*  @since    Jun 04th, 2009
*  @updated  Jun 05th, 2009
*/
class Object
{
////////////////////////////////////////////////////////////////////////////////

public:

////////////////////////////////////////////////////////////////////////////////


    /** Constructor */
    Object();


    /** Destructor */
    virtual ~Object();


////////////////////////////////////////////////////////////////////////////////


    /** Sets the position of object */
    void SetPosition( const STM::Position& _position );


    /** Gets the position of object */
    STM::Position GetPosition() const;


////////////////////////////////////////////////////////////////////////////////


    /** Sets the size of object */
    void SetSize( const STM::Size& _size );


    /** Gets the size of object */
    STM::Size GetSize() const;


////////////////////////////////////////////////////////////////////////////////

private:

////////////////////////////////////////////////////////////////////////////////


    /** Object's position */
    STM::Position m_Position;


    /** Object's size */
    STM::Size m_Size;


////////////////////////////////////////////////////////////////////////////////
};


////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////
